package com.companyname.projecttemplate.mapping;

import java.util.Properties;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import com.base.core.head.ao.MessageSysAO;
import com.gitee.magic.core.valid.annotation.NotNull;
import com.gitee.magic.framework.head.vo.BaseVO;
import com.gitee.magic.framework.head.vo.ObjectVO;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

/**
 * @author start
 */
@Tag(name = "AdminMapping")
public interface AdminMapping {

	@Operation(summary = "get work index")
	@GetMapping("/v1/load/{appName}/{active}")
	ObjectVO<Properties> load(
    		@PathVariable @Parameter(description ="项目名称") @NotNull String appName,
    		@PathVariable @Parameter(description ="所属环境") @NotNull String active);
	
	/**
	 * Send a message
	 * @param ao
	 * @return
	 */
	@Operation(summary = "Send a message")
	@PostMapping("/v1/send/message")
	BaseVO sendMessage(@RequestBody MessageSysAO ao);

	/**
	 * Send the file
	 * @param ao
	 * @return
	 */
	@Operation(summary = "Send the file")
	@PostMapping("/v1/send/file")
	BaseVO sendFile(@RequestBody MessageSysAO ao);
    
	
}
